export interface AdminStatisticsVO {
  overview: {
    totalTasks: number;
    totalSubmissions: number;
    totalStudents: number;
    totalTeachers: number;
    averageSubmitRate: number;
  };
  submitRateRanking: Array<DepartmentSubmitRate>;
  submitTrend: Array<DailySubmitTrend>;
}

export interface DepartmentSubmitRate {
  departmentId: number;
  departmentName: string;
  submitRate: number;
  totalCount: number;
  submittedCount: number;
}

export interface DailySubmitTrend {
  date: string;
  submitCount: number;
  overdueCount: number;
}

export interface TeacherStatisticsVO {
  overview: {
    totalTasks: number;
    ongoingTasks: number;
    totalSubmissions: number;
    pendingReviews: number;
    averageSubmitRate: number;
  };
  classSubmitStatus: Array<{
    classId: number;
    className: string;
    totalStudents: number;
    submittedCount: number;
    unsubmittedCount: number;
    submitRate: number;
  }>;
  submitTrend: Array<{
    date: string;
    submitCount: number;
    overdueCount: number;
  }>;
}

export interface StudentStatisticsVO {
  taskOverview: {
    ongoingTasks: number;
    completedTasks: number;
    overdueTasks: number;
    submitRate: number;
  };
  submissionHistory: Array<{
    taskName: string;
    submitTime: string;
    status: string;
    comment: string;
  }>;
  classRanking: {
    totalStudents: number;
    currentRank: number;
    submitRate: number;
    classAverageRate: number;
  };
} 